package com.cwm.test.single;

public class Outer {
    public Outer() {
        System.out.println("outer instance create");
    }

    static {
        value();
        System.out.println("outer init static module");
    }

    {
        System.out.println("outer init module");
    }

    public static void value(){
        System.out.println("outer method");
    }

    public static void main(String[] args) {
        System.out.println("outer main execute");
//        Outer outer = new Outer();
                Outer outer = Inner.outer;
    }

    private static class Inner {

        private String date;

        static {
            System.out.println("inner static init");
        }

        {
            System.out.println("inner init");
        }

        private static final Outer outer = new Outer();
    }
}
